/**
 * 右侧表格字段搜索功能
 * @create 2021-01-13
 * @description
 *      将当前页数据同步最终数据里，使用getAllData方法可以获取到最终数据，
 *      将搜索到的数据储存到datagrid的展示数据里，使用getShowData方法可以获取展示数据  -limy  --2021-9-8
 * */
;(function($){
    $.widget("tempo.mine_grid_columns_search_page",{
        options:{
            gridTable:null,
            width:'235px'
        },
        _create:function(){
            var that = this;
            // 右侧搜索框添加特有的class
            this.element.addClass("right-table-search-page");
            var gridTable = this.options.gridTable;
            var width = this.options.width;
            this.element.searchbar({
                auto:true,
                isEnter:true,
                width:width,
                placeholder:TempoUtils.locale("mine.sousuziduanming"),
                onSearch:function(searchContent){
                    var currentRowIds = gridTable.datagrid_page("getRowIds");
                    if (currentRowIds != null && currentRowIds.length != 0){
                        currentRowIds.forEach(
                            function (id) {
                                // 保存修改的行数据
                                gridTable.datagrid_page("saveRow", id);
                            }
                        );
                    }

                    // 获取当前页的所有数据，修改过的，
                    // 场景：当前页修改过后之后使用搜索栏要先把当前页进行保存
                    var currentRowData = gridTable.datagrid_page("getRowData");
                    // 获取表格里所有数据--没有更新的
                    var allData = gridTable.datagrid_page("getAllData");
                    // 遍历两个数据，将当前页数据同步到所有数据里
                    var len = allData.length;
                    for (var i=0; i<len; i++){
                        currentRowData.forEach(
                            function(temp){
                                if (allData[i].id == temp.id){
                                    allData[i] = temp;
                                }
                            }
                        );
                    }
                    // 将更新后的所有数据保存回去
                    gridTable.datagrid_page("setAllData", allData);

                    searchContent = $.trim(searchContent).toUpperCase();
                    var newData = [];
                    // 存储搜索不到的数据
                    for (var i = 0; i < allData.length; i++) {
                        var data = allData[i];
                        var filedName = (data.desc).toUpperCase();
                        if (filedName.indexOf(searchContent) >= 0) {
                            newData.push(data);
                        }
                    }
                    gridTable.datagrid_page("setShowData", newData);
                    gridTable.datagrid_page("clearGridData");
                    gridTable.datagrid_page("setGridParam",{datatype:'local',data:newData});
                    gridTable.datagrid_page("reloadGrid");
                }
            });
        },
        _setOption:function(key,val){

        },
        _bindEvent:function(ul) {

        }
    });
})(jQuery)